<?php
/*
Autor: Jonathan Vindas Abarca
Fecha: 21/11/2012
Descripción: Este archivo contiene la declaración de la clase controladora de clientes.
Bitacora de modificaciones:
<
    Autor: 
    Fecha: 
    Descripción: 
>
*/
    function normalizarFechaContrato($date)
    {
        if(!empty($date))
        {
            $var = explode('/',str_replace('-','/',$date));
            return "$var[2]/$var[1]/$var[0]";
	}        
    }


    function agregarContratos() 
    {              
        require_once 'dataControlador.php';    
        require '../modelos/contratosModelo.php';        
        $bandera = false;              
        require_once('FirePHPCore/FirePHP.class.php');
        $firephp = FirePHP::getInstance(true);   
        $fechaEntregaControlador=$_POST['txtFechaEntrega'];        
        $fechaEntregaNormalizada=normalizarFechaContrato($fechaEntregaControlador);        
        $fechaEntregaBD = preg_replace("[/]", "", $fechaEntregaNormalizada);                                                
        
        $fechaContratoControlador=$_POST['txtFechaContrato'];        
        $fechaContratoNormalizada=normalizarFechaContrato($fechaContratoControlador);        
        $fechaContratoBD = preg_replace("[/]", "", $fechaContratoNormalizada);                                                
                                                            
        try 
        {                        
            if ($_POST['hddAccion'] == 'agregarContrato') 
            {
                $codigoContrato=$_POST['txtCodigoContrato']; 
                if( encontrarContratoRepetido($codigoContrato,$_POST['txtNumeroOrden'],$fechaEntregaBD,$fechaContratoBD,$_POST['txtIncoterm'],$_POST['txtComprador'],$_POST['hddVAT'],$_POST['cmbCliente'],$_POST['cmbCompania'])==false)
                {                                
                    agregarContratoModelo($codigoContrato, $_POST['txtNumeroOrden'], $fechaEntregaBD, $fechaContratoBD, $_POST['txtIncoterm'], $_POST['txtComprador'], $_POST['hddVAT'], $_POST['cmbCliente'], $_POST['cmbCompania']);
                    $bandera='Agrega';                    
                }
                else
                {
                   $bandera='ExisteContrato';
                }            
            }                     
            if ($_POST['hddAccion'] == 'modificarContrato') 
            {                
                if(encontrarContratoDuplicado($_POST['hddNumContrato'],$_POST['hddCodigoCliente'], $_POST['hddCodigoCompania'])==true)
                {                                 
                    modificarContratoModelo($_POST['hddCodigoContrato'], $_POST['txtNumeroOrden'], $fechaEntregaBD, $fechaContratoBD, $_POST['txtIncoterm'], $_POST['txtComprador'], $_POST['hddVAT'], $_POST['hddCodigoCliente'], $_POST['hddCodigoCompania'],$_POST['hddNumContrato']);
                    $bandera='Modifica';                    
                    $firephp->log($bandera,'modifica');
                }                
            }
        /*    $accion = 'agregarContrato';
            require 'FacturasExportacion/agregarContrato.php';       
            mensajeConfirmacionContratos($bandera);*/
            
        mensajeConfirmacionContratos($bandera);
        $items = buscarContratosModelo();        
            $total_registros =sizeof($items);                    
            require 'FacturasExportacion/listarContratos.php';   
        } 
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ', $e->getMessage(), "\n";
        }
    }
    
    function eliminarContratos() 
    {
        require_once 'dataControlador.php';
        require '../modelos/contratosModelo.php';
        //require_once('FirePHPCore/FirePHP.class.php');
        //$firephp = FirePHP::getInstance(true);
        
            if(validarPermisos('eliminarContratoModelo'))
                {
                    eliminarContratoModelo($_GET['codigoContrato'], $_GET['codigoCompania'],$_GET['codigoCliente']);
                    $bandera='Elimina';    
                    
                }
                else
                {
                    $bandera='SinPermisos';                      
                }                                
        listarContratos();
        mensajeConfirmacionContratos($bandera);
    }       

    function listarContratos() 
    {        
        require_once '../modelos/contratosModelo.php';                
        require_once 'dataControlador.php';        
        if(validarPermisos('buscarContratosModelo'))
        {                            
            $items = buscarContratosModelo();        
            $total_registros =sizeof($items);                    
            require 'FacturasExportacion/listarContratos.php';        
        }        
        else
        {
            $items = null;                    
            $total_registros =sizeof($items);                    
            require 'FacturasExportacion/listarContratos.php';        
            mensajeConfirmacionContratos('SinPermisos'); 
        }                   
        /*
        require_once('FirePHPCore/FirePHP.class.php');        
        require_once '../modelos/contratosModelo.php';                
        require_once 'dataControlador.php';                
        $firephp = FirePHP::getInstance(true);
        $firephp->log('fdd','dsffds');
        $items = buscarContratosModelo();        
        $firephp->log($items, "contratos");
        $total_registros =sizeof($items);                    
        require 'FacturasExportacion/listarContratos.php';        */
    }

    
    function modificarContratos() 
    {
        require_once 'dataControlador.php';
        require '../modelos/contratosModelo.php';  
        require_once('FirePHPCore/FirePHP.class.php');
        $firephp = FirePHP::getInstance(true); 
        if(validarPermisos('modificarContratoModelo'))
        {                   
            
            $firephp->log($codigoCompania, 'codigo de compania');
            $accion = 'modificarContrato';   
            $numeroContrato=$_POST['hddNumContrato'];
            $codigoCompania=$_POST['hddCodigoCompania'];
            $codigoCliente=$_POST['hddCodigoCliente'];
            $items=recuperarContratoParaEditar($numeroContrato,$codigoCompania,$codigoCliente);
            foreach($items as $item)
            {
                $codigoContrato = $item['codigoContrato'];
                $numeroOrden = $item['numeroOrden'];
                $fechaEntrega = $item['fechaEntrega'];
                $fechaContrato = $item['fechaContrato'];
                $incoterm = $item['incoterm'];
                $comprador = $item['comprador'];
                $vatRegistration = $item['VATRegistration'];
                $codigoCliente = $item['codigoCliente'];
                $codigoCompania = $item['codigoCompania'];
                $numeroContrato = $item['numeroContrato'];                
            }
            require 'FacturasExportacion/agregarContrato.php';       
        }
        
        else
        {   
            $items = buscarContratosModelo();
            $total_registros =sizeof($items);                 
            require 'FacturasExportacion/listarContratos.php';           
            mensajeConfirmacionContratos('SinPermisos');                  
        }                               
    }        
    
    function mensajeConfirmacionContratos($bandera) 
    {                
        try 
        {
            if($bandera=='Agrega')
            {
                ?>
                <script type="text/javascript">                
                alert("Se agrego el contrato satisfactoriamente.");
                </script>
                <?php
            }
            elseif ($bandera=='Modifica') 
            {            
                ?>
                <script type="text/javascript">                
                alert("Se modifico el contrato satisfactoriamente.");
                </script>
                <?php        
            }
            elseif ($bandera=='Elimina') 
            {        
                ?>
                <script type="text/javascript">
                    alert("Se elimino el contrato satisfactoriamente.");                
                </script>
                <?php
            }
            elseif ($bandera=='ExisteContrato') 
            {        
                ?>
                <script type="text/javascript">
                    alert("Este contrato ya existe.");                
                </script>
                <?php    
            }
            elseif ($bandera=='SinPermisos') 
            {
                ?>
                <script type="text/javascript">
                    alert("Su usuario no posee permisos para esta acción.");                                
                </script>
                <?php
            }
        }
        catch (Exception $e) 
        {
            echo 'Excepción capturada: ',  $e->getMessage(), "\n";
        }
    }
    
    function direccionarAgregarContrato()
    {        
        require_once 'dataControlador.php';        
        require '../modelos/contratosModelo.php';                       
        if(validarPermisos('agregarContratoModelo'))
        {
             $accion='agregarContrato';
             require 'FacturasExportacion/agregarContrato.php'; 
        }        
        else
        {            
            $items = buscarContratosModelo();                    
            $total_registros =sizeof($items);                    
            require 'FacturasExportacion/listarContratos.php';               
            mensajeConfirmacionContratos('SinPermisos'); 
        } 
        
        /*
        $accion='agregarContrato';
        require 'FacturasExportacion/agregarContrato.php';               
         */
    }
?>
